import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Esta es la clase llama que simula una llama del fuego
 * @author Miguel Martinez Aguilar
 * @version 06 de Abril del 2013
 */
public class Llama extends ScrollActor
{
    // Declaracion de variables de instancia
    private int altura;// es la altura a la que se desplaza la llama hacia arriba del escenario.
    private GreenfootImage[] img;// es un arreglo de imagenes que usara la llama.
    
    /**
     * Constructor de llama.
     * @param altura: un numero que representa la distancia en que se decrementa la coordenada (y) de la llama.
     * @param scale: boleano que indica si la imagen de llama se comprime.
     */
    public Llama(int altura, boolean scale) 
    {
        img = new GreenfootImage[28];
        for( int i = 0; i < 28; i++){
            img[i] = new GreenfootImage("llama" + i + ".png");
            if(scale)img[i].scale(img[i].getWidth(),(img[i].getHeight())/2);
        }
        this.altura = altura;
    }

    /**
     * Este metodo cambia la imagen de la llama y tambien la baja con respecto de su coordenada (Y).
     */
    public void act() 
    {
            if(contador(28))this.seElimina();
            else{
                if(cont <= 27){
                    this.setLocation(this.getX(),this.getY() - (1 + altura));
                    this.setImage(img[cont]);
                }
            }
    }  
    
    /**
     * Este metodo elimina este objeto
     */
    public void seElimina() 
    {
        ScrollWorld mundo = super.getWorld();
        mundo.removeObject(this);// con este metodo eliminamos un objeto del mundo
    }
}
